package com.freeter.modules.gjs.service;

import com.freeter.modules.gjs.entity.TransferRequest;
import java.util.List;
import java.util.Map;

public interface TransferRequestService {
    List<TransferRequest> getAllTransferRequests();
    TransferRequest getTransferRequestById(Long id);
    TransferRequest getTransferRequestByRequestNo(String requestNo);
    List<TransferRequest> getTransferRequestsByUserId(Long userId);
    List<TransferRequest> getTransferRequestsByFromSiteCode(String fromSiteCode);
    List<TransferRequest> getTransferRequestsByToSiteCode(String toSiteCode);
    List<TransferRequest> getTransferRequestsByStatus(String status);
    List<TransferRequest> getTransferRequestsByApprovedBy(String approvedBy);
    TransferRequest createTransferRequest(TransferRequest transferRequest);
    TransferRequest updateTransferRequest(Long id, TransferRequest transferRequest);
    boolean deleteTransferRequest(Long id);
    boolean deleteTransferRequestByRequestNo(String requestNo);
    List<TransferRequest> getTransferRequestsByCondition(String name, Integer state);
    boolean relocRequest(Map<String, Object> req) throws Exception;
    int getRelocPendingCount(Map<String, Object> params);
    List<Map<String, Object>> getRelocPendingList(Map<String, Object> params);
    void cancelRelocPending(Map<String, Object> req);
    void approveRelocRequest(Map<String, Object> req);
    int getRelocNonRecCount(Map<String, Object> params);
    List<Map<String, Object>> getRelocNonRecList(Map<String, Object> params);
    void relocReceive(Map<String, Object> req);
} 